//
// Created by 123 on 2025/1/6.
//
#include "iostream"
#include "string"

using namespace std;

template<class T>
class Base{
    T m;
};
//c++编译时需要给子类分配内存,必须知道父类中T的类型才可以向下继承
//class Son:public Base{
class Son:public Base<int>{

};
void test1(){
    Son c;
}

//类模板继承类模板，可以用T2指定父类的T类型
template<class T1,class T2>
class Son2 : public Base<T2>{
public:
    Son2(){
        cout << typeid(T1).name() << endl;
        cout << typeid(T2).name() << endl;
    }
};

void test2(){
    Son2<int,char> child2;
}




int main104(){
    test1();
    test2();

    return 0;
}
